cargo.git
11 years agoauto merge of #711 : alexcrichton/cargo/issue-708, r=brson
bors [Fri, 17 Oct 2014 22:48:18 +0000 (22:48 +0000)]
auto merge of #711 : alexcrichton/cargo/issue-708, r=brson

I can't quite remember why this ifdef is present to silently run `make` as a
normal user, and it doesn't seem to work if `make install` is run while as root,
so I'm just removing it and requiring that `make` is run before `make install`
unconditionally.

Closes #708

11 years agoauto merge of #712 : alexcrichton/cargo/issue-633, r=brson
bors [Fri, 17 Oct 2014 22:22:39 +0000 (22:22 +0000)]
auto merge of #712 : alexcrichton/cargo/issue-633, r=brson

As pointed in #633, it's currently not possible for a package to reexport the
feature of another package due to the limitations of how features are defined.

This commit adds support for this ability by allowing features of the form
`foo/bar` in the `features` section of the manifest. This form indicates that
the dependency `foo` should have its `bar` feature enabled. Additionally, it is
not required that `foo` is an optional dependency.

This does not allow features of the form `foo/bar` in a `[dependencies]`
features section as dependencies shouldn't be enabling features for other
dependencies.

At the same time, this passes through features to build commands to solve a few more issues.

Closes #97
Closes #601 (this is an equivalent solution for that problem)
Closes #633
Closes #674

11 years agoauto merge of #719 : alexcrichton/cargo/update-docopt, r=alexcrichton
bors [Fri, 17 Oct 2014 22:09:50 +0000 (22:09 +0000)]
auto merge of #719 : alexcrichton/cargo/update-docopt, r=alexcrichton

11 years agoUpdate to rust master to remove libdebug
Alex Crichton [Fri, 17 Oct 2014 22:05:54 +0000 (15:05 -0700)]
Update to rust master to remove libdebug

11 years agoPass features to native build commands
Alex Crichton [Thu, 16 Oct 2014 17:33:35 +0000 (10:33 -0700)]
Pass features to native build commands

Closes #97
Closes #601 (this is an equivalent solution for that problem)

11 years agoAllow reexporting of features between packages
Alex Crichton [Thu, 16 Oct 2014 17:09:39 +0000 (10:09 -0700)]
Allow reexporting of features between packages

As pointed in #633, it's currently not possible for a package to reexport the
feature of another package due to the limitations of how features are defined.

This commit adds support for this ability by allowing features of the form
`foo/bar` in the `features` section of the manifest. This form indicates that
the dependency `foo` should have its `bar` feature enabled. Additionally, it is
not required that `foo` is an optional dependency.

This does not allow features of the form `foo/bar` in a `[dependencies]`
features section as dependencies shouldn't be enabling features for other
dependencies.

Closes #633
Closes #674

11 years agoRequire `make` is run before `make install`
Alex Crichton [Thu, 16 Oct 2014 15:36:57 +0000 (08:36 -0700)]
Require `make` is run before `make install`

I can't quite remember why this ifdef is present to silently run `make` as a
normal user, and it doesn't seem to work if `make install` is run while as root,
so I'm just removing it and requiring that `make` is run before `make install`
unconditionally.

Closes #708

11 years agoauto merge of #709 : alexcrichton/cargo/issue-705, r=brson
bors [Wed, 15 Oct 2014 20:14:53 +0000 (20:14 +0000)]
auto merge of #709 : alexcrichton/cargo/issue-705, r=brson

This will enable passing `-C rpath` on all compiles to rustc itself.

Closes #705

11 years agoAdd an `rpath` option to the profile section
Alex Crichton [Wed, 15 Oct 2014 17:28:15 +0000 (10:28 -0700)]
Add an `rpath` option to the profile section

This will enable passing `-C rpath` on all compiles to rustc itself.

Closes #705

11 years agoauto merge of #700 : alexcrichton/cargo/issue-697, r=brson
bors [Tue, 14 Oct 2014 23:44:54 +0000 (23:44 +0000)]
auto merge of #700 : alexcrichton/cargo/issue-697, r=brson

When a source has multiple crates inside of it, `cargo update -p foo` would
previously not actually update anything because the extra crates were continuing
to lock the source to the same revision. This change updates the "avoid me"
logic to avoid *sources*, not *packages*.

Closes #697

11 years agoauto merge of #699 : alexcrichton/cargo/issue-695, r=brson
bors [Tue, 14 Oct 2014 22:59:55 +0000 (22:59 +0000)]
auto merge of #699 : alexcrichton/cargo/issue-695, r=brson

Closes #695

11 years agoauto merge of #706 : kballard/cargo/patch-1, r=alexcrichton
bors [Tue, 14 Oct 2014 21:44:58 +0000 (21:44 +0000)]
auto merge of #706 : kballard/cargo/patch-1, r=alexcrichton

`$(OUT_DIR)` may contain spaces, so it needs to be quoted. It also needs to be expanded by the shell, not by `make`, or any quotes/backslashes in the value will cause problems.

11 years agoTweak native-build.md example
Kevin Ballard [Tue, 14 Oct 2014 21:30:17 +0000 (14:30 -0700)]
Tweak native-build.md example

`$(OUT_DIR)` may contain spaces, so it needs to be quoted. It also needs to be expanded by the shell, not by `make`, or any quotes/backslashes in the value will cause problems.

11 years agoauto merge of #698 : eagleflo/cargo/new-invalid-characters, r=alexcrichton
bors [Tue, 14 Oct 2014 19:59:57 +0000 (19:59 +0000)]
auto merge of #698 : eagleflo/cargo/new-invalid-characters, r=alexcrichton

Crate names have tight restrictions in Rust. `cargo new` should not allow invalid characters in crate names, as such crates will just fail to compile later on.

This check is based on the one found in rustc's `validate_crate_name` (https://github.com/rust-lang/rust/blob/master/src/librustc/metadata/creader.rs#L185-L189).

11 years agoauto merge of #703 : alexcrichton/cargo/doc.crates.io, r=alexcrichton
bors [Mon, 13 Oct 2014 23:45:00 +0000 (23:45 +0000)]
auto merge of #703 : alexcrichton/cargo/doc.crates.io, r=alexcrichton

The actual crates.io domain will become the registry itself, but the
auto-generated documentation from this repository will continue to be available
at the doc.crates.io domain.

In the meantime, we've set up redirects from crates.io and www.crates.io to
doc.crates.io and the github-pages site will now be doc.crates.io

11 years agoCheck crate name for invalid characters in cargo new
Aku Kotkavuo [Mon, 13 Oct 2014 00:05:41 +0000 (03:05 +0300)]
Check crate name for invalid characters in cargo new

11 years agoMove documentation to doc.crates.io
Alex Crichton [Mon, 13 Oct 2014 23:31:33 +0000 (16:31 -0700)]
Move documentation to doc.crates.io

The actual crates.io domain will become the registry itself, but the
auto-generated documentation from this repository will continue to be available
at the doc.crates.io domain.

In the meantime, we've set up redirects from crates.io and www.crates.io to
doc.crates.io and the github-pages site will now be doc.crates.io

11 years agoauto merge of #701 : kagia/cargo/master, r=alexcrichton
bors [Mon, 13 Oct 2014 22:47:06 +0000 (22:47 +0000)]
auto merge of #701 : kagia/cargo/master, r=alexcrichton

links added and grouped to encourage matching versions to be downloaded...

11 years agoauto merge of #696 : bkoropoff/cargo/build-break, r=alexcrichton
bors [Mon, 13 Oct 2014 22:15:02 +0000 (22:15 +0000)]
auto merge of #696 : bkoropoff/cargo/build-break, r=alexcrichton

11 years agolink to 64bit windows binaries #639
Benjamin Kagia [Mon, 13 Oct 2014 21:02:30 +0000 (00:02 +0300)]
link to 64bit windows binaries #639

links added and grouped to encourage matching versions to be downloaded...

11 years agoFix updating sources with more than one crate
Alex Crichton [Mon, 13 Oct 2014 16:54:08 +0000 (09:54 -0700)]
Fix updating sources with more than one crate

When a source has multiple crates inside of it, `cargo update -p foo` would
previously not actually update anything because the extra crates were continuing
to lock the source to the same revision. This change updates the "avoid me"
logic to avoid *sources*, not *packages*.

Closes #697

11 years agoDon't hardcode i32 in FFI bindings
Alex Crichton [Mon, 13 Oct 2014 16:44:58 +0000 (09:44 -0700)]
Don't hardcode i32 in FFI bindings

11 years agoUpgrade docopt/docopt_macros to fix build break
Brian Koropoff [Sun, 12 Oct 2014 23:50:06 +0000 (16:50 -0700)]
Upgrade docopt/docopt_macros to fix build break

11 years agoOnly one CNAME is allowed!
Alex Crichton [Sat, 11 Oct 2014 05:03:11 +0000 (22:03 -0700)]
Only one CNAME is allowed!

11 years agoUpdate travis token to upload docs
Alex Crichton [Sat, 11 Oct 2014 04:41:59 +0000 (21:41 -0700)]
Update travis token to upload docs

11 years agoAdd doc.crates.io to src/doc/CNAME
Alex Crichton [Sat, 11 Oct 2014 04:31:54 +0000 (21:31 -0700)]
Add doc.crates.io to src/doc/CNAME

The actual crates.io domain will likely be superseded by the registry, and this
gh-pages site will be relegated to the documentation.

11 years agoauto merge of #689 : alexcrichton/cargo/update, r=alexcrichton
bors [Fri, 10 Oct 2014 15:05:22 +0000 (15:05 +0000)]
auto merge of #689 : alexcrichton/cargo/update, r=alexcrichton

11 years agoUpdate to rust master
Alex Crichton [Fri, 10 Oct 2014 15:03:45 +0000 (08:03 -0700)]
Update to rust master

11 years agoauto merge of #682 : vhbit/cargo/empty-features, r=alexcrichton
bors [Thu, 9 Oct 2014 19:44:57 +0000 (19:44 +0000)]
auto merge of #682 : vhbit/cargo/empty-features, r=alexcrichton

For automation it should be no difference between invocations
of `--features "feat1 feat2 feat3"` and `--features ""`.

The problem is that in the latter case `docopt` sets flag_feature to vec![""]

Could be solved on 3 different levels:

- patching `docopt` to treat empty string for a Vec<String> flag
  as empty vec. Although I can't imagine that in some place it
  might be required to treat empty string as vector of empty
  strings it is might have its own use

- filtering flags_feature right after parsing command line and
  before passing further. It means it should be fixed in at
  least 4 different places now and may be forgotten in future

- filtering empty string feature while resolving - perhaps
  the easiest and more universal solution, implemented in this
  patch

11 years agoAllow to invoke Cargo commands with empty features
Valerii Hiora [Wed, 8 Oct 2014 05:54:16 +0000 (08:54 +0300)]
Allow to invoke Cargo commands with empty features

For automation it should be no difference between invocations
of `--features "feat1 feat2 feat3"` and `--features ""`.

The problem is that in the latter case `docopt` sets flag_feature to vec![""]

Could be solved on 3 different levels:

- patching `docopt` to treat empty string for a Vec<String> flag
  as empty vec. Although I can't imagine that in some place it
  might be required to treat empty string as vector of empty
  strings it is might have its own use.

- filtering flags_feature right after parsing command line and
  before passing further. It means it should be fixed in at
  least 4 different places now and may be forgotten in future.

- filtering empty string feature while resolving - perhaps
  the easiest and more universal solution, implemented in this
  patch.

11 years agoauto merge of #688 : alexcrichton/cargo/update, r=alexcrichton
bors [Thu, 9 Oct 2014 17:02:17 +0000 (17:02 +0000)]
auto merge of #688 : alexcrichton/cargo/update, r=alexcrichton

11 years agoUpdate dependencies and update to rust master
Alex Crichton [Thu, 9 Oct 2014 15:17:41 +0000 (08:17 -0700)]
Update dependencies and update to rust master

11 years agoauto merge of #677 : sfackler/cargo/rustdoc-features, r=alexcrichton
bors [Tue, 7 Oct 2014 23:29:57 +0000 (23:29 +0000)]
auto merge of #677 : sfackler/cargo/rustdoc-features, r=alexcrichton

Note that they won't actually work until rust-lang/rust#17834 lands.

11 years agoauto merge of #679 : alexcrichton/cargo/fix-doc-test, r=brson
bors [Tue, 7 Oct 2014 20:29:59 +0000 (20:29 +0000)]
auto merge of #679 : alexcrichton/cargo/fix-doc-test, r=brson

11 years agoUse the right package for doc test variables
Alex Crichton [Tue, 7 Oct 2014 19:01:10 +0000 (12:01 -0700)]
Use the right package for doc test variables

11 years agoauto merge of #676 : jdeseno/cargo/warnings, r=alexcrichton
bors [Tue, 7 Oct 2014 18:59:59 +0000 (18:59 +0000)]
auto merge of #676 : jdeseno/cargo/warnings, r=alexcrichton

11 years agoPass features along to rustdoc
Steven Fackler [Tue, 7 Oct 2014 04:04:29 +0000 (21:04 -0700)]
Pass features along to rustdoc

11 years agoauto merge of #671 : alexcrichton/cargo/issue-668, r=brson
bors [Tue, 7 Oct 2014 03:07:37 +0000 (03:07 +0000)]
auto merge of #671 : alexcrichton/cargo/issue-668, r=brson

Examples are classified as binaries, but do not have the `test` flag set on
their Profile. They do, however, have their environment set to `test`. Be sure
to place them into the `tests` bucket so they have development dependencies
available for their compilation.

Closes #668

11 years agoMake sure dev-deps are compiled for examples
Alex Crichton [Mon, 6 Oct 2014 03:00:42 +0000 (20:00 -0700)]
Make sure dev-deps are compiled for examples

Examples are classified as binaries, but do not have the `test` flag set on
their Profile. They do, however, have their environment set to `test`. Be sure
to place them into the `tests` bucket so they have development dependencies
available for their compilation.

11 years agoauto merge of #673 : alexcrichton/cargo/issue-665, r=brson
bors [Tue, 7 Oct 2014 01:15:02 +0000 (01:15 +0000)]
auto merge of #673 : alexcrichton/cargo/issue-665, r=brson

Otherwise the order was nondeterministic likely due to some hash map along the
way being used to deduplicate the set of features.

Closes #665

11 years agoFix warnings for constant names
Joshua DeSeno [Tue, 7 Oct 2014 00:25:05 +0000 (09:25 +0900)]
Fix warnings for constant names

11 years agoauto merge of #661 : alexcrichton/cargo/issue-660, r=brson
bors [Mon, 6 Oct 2014 23:45:06 +0000 (23:45 +0000)]
auto merge of #661 : alexcrichton/cargo/issue-660, r=brson

When using `cargo test -p`, be sure to run only the doc tests for the package
actually being tested.

Closes #660

11 years agoDon't always run doc tests for the root package
Alex Crichton [Fri, 3 Oct 2014 01:57:33 +0000 (18:57 -0700)]
Don't always run doc tests for the root package

When using `cargo test -p`, be sure to run only the doc tests for the package
actually being tested.

Closes #660

11 years agoauto merge of #663 : alexcrichton/cargo/issue-648, r=brson
bors [Mon, 6 Oct 2014 23:00:04 +0000 (23:00 +0000)]
auto merge of #663 : alexcrichton/cargo/issue-648, r=brson

This means that if a project has a file with a space in the name it will
properly have its freshness calculated as opposed to always having it as a
candidate to be rebuilt.

Closes #648

11 years agoauto merge of #675 : alexcrichton/cargo/fix-selective-test, r=brson
bors [Mon, 6 Oct 2014 20:30:07 +0000 (20:30 +0000)]
auto merge of #675 : alexcrichton/cargo/fix-selective-test, r=brson

Now that we have selective testing, this no longer makes any sense and all
queries to the path layout need to be based on the package being queried for.
This removes the primary flag from the Context, and requires that the `layout`
method have a local Package available

cc servo/servo#3580

11 years agoRemove the notion of "primary" from Context
Alex Crichton [Mon, 6 Oct 2014 18:27:16 +0000 (11:27 -0700)]
Remove the notion of "primary" from Context

Now that we have selective testing, this no longer makes any sense and all
queries to the path layout need to be based on the package being queried for.
This removes the primary flag from the Context, and requires that the `layout`
method have a local Package available

cc servo/servo#3580

11 years agoauto merge of #672 : bkoropoff/cargo/option-map-cleanup, r=alexcrichton
bors [Mon, 6 Oct 2014 14:15:07 +0000 (14:15 +0000)]
auto merge of #672 : bkoropoff/cargo/option-map-cleanup, r=alexcrichton

This reduces syntactic noise and is a good use case for `if let`, which I turned on.

11 years agoSort feature lists for fingerprint hashing
Alex Crichton [Mon, 6 Oct 2014 03:21:57 +0000 (20:21 -0700)]
Sort feature lists for fingerprint hashing

Otherwise the order was nondeterministic likely due to some hash map along the
way being used to deduplicate the set of features.

Closes #665

11 years agoClean up some uses of `Option::map` only for its side effects
Brian Koropoff [Sun, 5 Oct 2014 22:59:58 +0000 (15:59 -0700)]
Clean up some uses of `Option::map` only for its side effects

11 years agoauto merge of #667 : jakerr/cargo/help-help, r=alexcrichton
bors [Mon, 6 Oct 2014 03:15:06 +0000 (03:15 +0000)]
auto merge of #667 : jakerr/cargo/help-help, r=alexcrichton

This adds a dummy help command so that it's usage can be documented with docopt! This lets `cargo help help` work.

Also adds help flags to all of the subcommands that were missing them. Without
that `cargo help sub-command` shows Invalid Argument before the usage text.

11 years agoauto merge of #670 : bkoropoff/cargo/unused-everywhere, r=alexcrichton
bors [Mon, 6 Oct 2014 02:30:06 +0000 (02:30 +0000)]
auto merge of #670 : bkoropoff/cargo/unused-everywhere, r=alexcrichton

I'm not sure what changed, but unused value lints were popping up everwhere when I tried to build today.

This turns on the `if let` feature since it allows rewriting a lot of calls to `Option::map` that were only being used for their side effects into a clean form.  Cargo seems as good of a place as any to dogfood it.

11 years agoRemote `unused` lint
Brian Koropoff [Sun, 5 Oct 2014 23:06:50 +0000 (16:06 -0700)]
Remote `unused` lint

It's causing tons of not-very-helpful errors that are breaking the build.

11 years agoLet the help command work consistently everywhere
Jake Kerr [Sun, 5 Oct 2014 07:13:43 +0000 (16:13 +0900)]
Let the help command work consistently everywhere

This adds a dummy help command so that it's usage can be documented with docopt!

Also adds help flags to all of the subcommands that were missing them. Without
that `cargo help sub-command` shows Invalid Argument before the usage text.

11 years agoParse escaped spaces in makefile dependencies
Alex Crichton [Fri, 3 Oct 2014 01:37:27 +0000 (18:37 -0700)]
Parse escaped spaces in makefile dependencies

This means that if a project has a file with a space in the name it will
properly have its freshness calculated as opposed to always having it as a
candidate to be rebuilt.

Closes #648

11 years agoauto merge of #630 : alexcrichton/cargo/issue-432, r=brson
bors [Fri, 3 Oct 2014 01:57:14 +0000 (01:57 +0000)]
auto merge of #630 : alexcrichton/cargo/issue-432, r=brson

This is a series of commits which culminates in fixing #432, fixing a number of other related issues along the way. The biggest user-facing fix here is that if you run `cargo build` followed by `cargo test` your library will no longer be rebuilt if you have dev-dependencies.

11 years agoAdd a test for #432
Alex Crichton [Wed, 24 Sep 2014 05:14:02 +0000 (22:14 -0700)]
Add a test for #432

All problems have been fixed in the previous commits, and this now closes #432

11 years agoFix dependencies linking to the local package
Alex Crichton [Wed, 24 Sep 2014 05:13:27 +0000 (22:13 -0700)]
Fix dependencies linking to the local package

This is a legitimate possibility which doesn't necessarily imply a cycle, so the
case needs to be handled.

11 years agoFix the dependency graph with root pkg cycles
Alex Crichton [Wed, 24 Sep 2014 05:12:01 +0000 (22:12 -0700)]
Fix the dependency graph with root pkg cycles

If the root package ended up depending on itself through some development
dependency (technically not a cycle), then the resolve phase would currently
overwrite some previous result, destroying the progress. By registering the root
package as seen early on this prevents the overwriting from happening and
instead appending happens.

11 years agoAllow "cycles" through dev-deps
Alex Crichton [Wed, 24 Sep 2014 05:10:32 +0000 (22:10 -0700)]
Allow "cycles" through dev-deps

Development dependencies can never be the root of a cycle because nothing
depends on a development dependency, so there's no need to track the start of a
cycle at the edge going out to a development dependency.

If a cycle is later detected, it will still be reported.

11 years agoRefine dependencies on dev-deps
Alex Crichton [Tue, 23 Sep 2014 22:22:14 +0000 (15:22 -0700)]
Refine dependencies on dev-deps

Currently whenever a dev-dep is brought in to the build process the entire
library is rebuilt, but this is just unnecessary recompilation because the
library *can't* depend on the dev-dep.

This commit refines the dependency graph so the lib stage only depends on
transitive dependencies (non-dev-deps), and a new stage for tests was added
which depends on the packages libraries *and* the dev-deps. This way only the
test are rebuilt when dev-deps change, not libraries.

11 years agoauto merge of #659 : alexcrichton/cargo/licenseing, r=brson
bors [Thu, 2 Oct 2014 20:07:47 +0000 (20:07 +0000)]
auto merge of #659 : alexcrichton/cargo/licenseing, r=brson

This follows #656 by mentioning OpenSSL in the README, as well as install all
license files on installation. A hand-generated LICENSE-THIRD-PARTY is also
included.

Closes #656

This also approaches #657 by mentioning that we have GPL software in the README.
Cargo will hopefully support a more complete "all source" distribution in the
future, but at this time there is not an easy way to generate a complete source
tarball via cargo.

11 years agoauto merge of #654 : ebfe/cargo/cargo-build-help, r=alexcrichton
bors [Thu, 2 Oct 2014 19:50:46 +0000 (19:50 +0000)]
auto merge of #654 : ebfe/cargo/cargo-build-help, r=alexcrichton

11 years agoInstall materials to comply with upstream licenses
Alex Crichton [Thu, 2 Oct 2014 19:40:33 +0000 (12:40 -0700)]
Install materials to comply with upstream licenses

This follows #656 by mentioning OpenSSL in the README, as well as install all
license files on installation. A hand-generated LICENSE-THIRD-PARTY is also
included.

Closes #656

This also approaches #657 by mentioning that we have GPL software in the README.
Cargo will hopefully support a more complete "all source" distribution in the
future, but at this time there is not an easy way to generate a complete source
tarball via cargo.

11 years agoauto merge of #652 : tomaka/cargo/open-docs, r=alexcrichton
bors [Thu, 2 Oct 2014 19:36:10 +0000 (19:36 +0000)]
auto merge of #652 : tomaka/cargo/open-docs, r=alexcrichton

Opens the generated docs in a browser.

Since it's more a utility feature, I didn't write this in a robust way. There's no error if it fails to open a browser.

11 years agoauto merge of #631 : alexcrichton/cargo/issue-514, r=brson
bors [Thu, 2 Oct 2014 19:13:13 +0000 (19:13 +0000)]
auto merge of #631 : alexcrichton/cargo/issue-514, r=brson

If the host system had $HOME/.cargo/config which configured a user name/email
then this test would fail because those would be prioritized over $USER.

Closes #514

11 years agoauto merge of #655 : ebfe/cargo/deps, r=alexcrichton
bors [Thu, 2 Oct 2014 19:00:24 +0000 (19:00 +0000)]
auto merge of #655 : ebfe/cargo/deps, r=alexcrichton

At least rust-encoding needs updating to compile with rust master.

11 years agoAdd --open flag to cargo doc
Pierre Krieger [Wed, 1 Oct 2014 06:53:05 +0000 (08:53 +0200)]
Add --open flag to cargo doc

11 years agoUpdate dependencies
Michael Gehring [Thu, 2 Oct 2014 17:08:00 +0000 (19:08 +0200)]
Update dependencies

11 years agoFix typos in `cargo build -h`
Michael Gehring [Thu, 2 Oct 2014 16:15:17 +0000 (18:15 +0200)]
Fix typos in `cargo build -h`

11 years agoauto merge of #650 : plcstpierre/cargo/master, r=alexcrichton
bors [Tue, 30 Sep 2014 02:45:09 +0000 (02:45 +0000)]
auto merge of #650 : plcstpierre/cargo/master, r=alexcrichton

At least fixing https://github.com/alexcrichton/git2-rs/issues/10

11 years agoBump version of dependencies
Pier-Luc Caron St-Pierre [Tue, 30 Sep 2014 02:06:39 +0000 (22:06 -0400)]
Bump version of dependencies

11 years agoauto merge of #628 : alexcrichton/cargo/issue-537, r=brson
bors [Tue, 30 Sep 2014 00:00:10 +0000 (00:00 +0000)]
auto merge of #628 : alexcrichton/cargo/issue-537, r=brson

This is rebased on https://github.com/rust-lang/cargo/pull/617 as I wanted to use one of the functions added in the patch. Otherwise the details are in the commits.

11 years agoImprove the error message for ambiguous specs
Alex Crichton [Sat, 27 Sep 2014 04:45:51 +0000 (21:45 -0700)]
Improve the error message for ambiguous specs

11 years agoDeprecate `cargo update foo`
Alex Crichton [Sat, 27 Sep 2014 04:24:31 +0000 (21:24 -0700)]
Deprecate `cargo update foo`

To maintain consistency with `cargo {build,test,bench,clean}` the `update`
subcommand now takes a specific package via the `-p` argument instead of as a
positional argument.

11 years agoAdd cargo {test,bench} -p <spec>
Alex Crichton [Wed, 24 Sep 2014 01:10:27 +0000 (18:10 -0700)]
Add cargo {test,bench} -p <spec>

This functionality allows running tests and benchmarks on any upstream
dependencies in the dependency graph. This is most useful for path sources all
developed in tandem (see Servo for instance).

In terms of built artifacts, this will actually preserve as many artifacts as
possible. That means that if you test a low-level dependency with the high-level
artifacts already built, the high-level artifacts will not get removed. This
means that it's possible to accidentally have a low-level dependency to depend
on a higher level one just because it's lib is picked up via -L, but this is
generally a necessary evil to get testing to not rebuild packages too often.

Closes #483

11 years agoAllow specifying what to build as part of `cargo build`
Alex Crichton [Tue, 23 Sep 2014 16:16:25 +0000 (09:16 -0700)]
Allow specifying what to build as part of `cargo build`

This allows selectively building one dependency within a dependency graph for
debugging its build or such.

Closes #537

11 years agoAllow selectively cleaning packages
Alex Crichton [Tue, 23 Sep 2014 16:03:34 +0000 (09:03 -0700)]
Allow selectively cleaning packages

This adds a new argument to `cargo clean` which will enable selectively cleaning
particular packages. The command only cleans the package specified, no other
(not the dependencies of the package).

cc #537

11 years agoauto merge of #647 : dotdash/cargo/entry, r=alexcrichton
bors [Mon, 29 Sep 2014 14:00:13 +0000 (14:00 +0000)]
auto merge of #647 : dotdash/cargo/entry, r=alexcrichton

11 years agoUse the new Entry API for HashMaps
Björn Steinbrink [Mon, 29 Sep 2014 12:41:52 +0000 (14:41 +0200)]
Use the new Entry API for HashMaps

11 years agoauto merge of #645 : bkoropoff/cargo/fix-infinite-recursion, r=alexcrichton
bors [Sun, 28 Sep 2014 23:00:13 +0000 (23:00 +0000)]
auto merge of #645 : bkoropoff/cargo/fix-infinite-recursion, r=alexcrichton

Insert necessary explicit derefs.

11 years agoFix infinite recursion in CargoError impl for Box<CargoError>
Brian Koropoff [Sun, 28 Sep 2014 21:39:06 +0000 (14:39 -0700)]
Fix infinite recursion in CargoError impl for Box<CargoError>

Insert necessary explicit derefs.

11 years agoMake a test more resilient against the host system
Alex Crichton [Wed, 24 Sep 2014 05:23:10 +0000 (22:23 -0700)]
Make a test more resilient against the host system

If the host system had $HOME/.cargo/config which configured a user name/email
then this test would fail because those would be prioritized over $USER.

Closes #514

11 years agoauto merge of #624 : alexcrichton/cargo/issue-484, r=wycats
bors [Thu, 25 Sep 2014 16:50:29 +0000 (16:50 +0000)]
auto merge of #624 : alexcrichton/cargo/issue-484, r=wycats

This commit adds a flag, --precise, to cargo update. This flag is used to update
a dependency to precisely an exact revision (or branch) as part of an update
step. For git repositories the argument is some form of reference, while
registry packages this will be a version number.

The flag --precise forces a non-aggressive update and will fail if the
--aggresive flag is specified.

Closes #484

r? @wycats

11 years agoAllow updating to a precise revision
Alex Crichton [Tue, 23 Sep 2014 14:30:16 +0000 (07:30 -0700)]
Allow updating to a precise revision

This commit adds a flag, --precise, to cargo update. This flag is used to update
a dependency to precisely an exact revision (or branch) as part of an update
step. For git repositories the argument is some form of reference, while
registry packages this will be a version number.

The flag --precise forces a non-aggressive update and will fail if the
--aggresive flag is specified.

Closes #484

11 years agoauto merge of #625 : alexcrichton/cargo/no-more-deprecated, r=brson
bors [Thu, 25 Sep 2014 15:51:37 +0000 (15:51 +0000)]
auto merge of #625 : alexcrichton/cargo/no-more-deprecated, r=brson

This flag has been deprecated in favor of `cargo update` for quite some time
now.

r? @brson

11 years agoauto merge of #635 : alexcrichton/cargo/update, r=alexcrichton
bors [Thu, 25 Sep 2014 15:40:30 +0000 (15:40 +0000)]
auto merge of #635 : alexcrichton/cargo/update, r=alexcrichton

Also stop denying all warnings and only deny some common warnings. Allow
warnings such as deprecation.

Closes #634

11 years agoUpdate to rust master
Alex Crichton [Thu, 25 Sep 2014 15:16:19 +0000 (08:16 -0700)]
Update to rust master

Also stop denying all warnings and only deny some common warnings. Allow
warnings such as deprecation.

Closes #634

11 years agoRemove the deprecated -u flag
Alex Crichton [Tue, 23 Sep 2014 14:33:23 +0000 (07:33 -0700)]
Remove the deprecated -u flag

This flag has been deprecated in favor of `cargo update` for quite some time
now.

11 years agoauto merge of #617 : alexcrichton/cargo/issue-597, r=brson
bors [Wed, 24 Sep 2014 23:45:16 +0000 (23:45 +0000)]
auto merge of #617 : alexcrichton/cargo/issue-597, r=brson

Ensure that the dynamic linker search path contains the location of the output
directories for these dependencies when compiling with plugins.

Closes #597

11 years agoauto merge of #632 : EduardoBautista/cargo/fix-width-in-safari, r=alexcrichton
bors [Wed, 24 Sep 2014 13:58:39 +0000 (13:58 +0000)]
auto merge of #632 : EduardoBautista/cargo/fix-width-in-safari, r=alexcrichton

Text is not responsive under 629px in Safari.

11 years agoauto merge of #627 : dotdash/cargo/rustup, r=alexcrichton
bors [Wed, 24 Sep 2014 09:13:40 +0000 (09:13 +0000)]
auto merge of #627 : dotdash/cargo/rustup, r=alexcrichton

11 years agoFit text within window in Safari when under 629px in width
Eduardo Bautista [Wed, 24 Sep 2014 06:33:35 +0000 (01:33 -0500)]
Fit text within window in Safari when under 629px in width

11 years agoFix building with current rustc
Björn Steinbrink [Tue, 23 Sep 2014 18:27:48 +0000 (20:27 +0200)]
Fix building with current rustc

11 years agoauto merge of #509 : alexcrichton/cargo/features, r=wycats
bors [Tue, 23 Sep 2014 01:53:52 +0000 (01:53 +0000)]
auto merge of #509 : alexcrichton/cargo/features, r=wycats

This feature was outlined in #385 [1], and documentation has been included as
part of this commit.

[1]: https://github.com/rust-lang/cargo/issues/385#issuecomment-53917539

Closes #385

11 years agoImplement `features`
Alex Crichton [Wed, 3 Sep 2014 18:52:47 +0000 (11:52 -0700)]
Implement `features`

This feature was outlined in #385 [1], and documentation has been included as
part of this commit.

[1]: https://github.com/rust-lang/cargo/issues/385#issuecomment-53917539

11 years agoauto merge of #618 : alexcrichton/cargo/issue-593, r=wycats
bors [Tue, 23 Sep 2014 01:34:57 +0000 (01:34 +0000)]
auto merge of #618 : alexcrichton/cargo/issue-593, r=wycats

This gives cargo a way to uniquely reference a package within a dependency graph. This is currently only used for `cargo update` and `cargo pkgid`, but this will extend in the future to possible configuration keys in the manifest, other commands like `clean`, etc.

Closes #593

11 years agoAdd some HTML docs for pkgid specs
Alex Crichton [Mon, 22 Sep 2014 00:59:19 +0000 (17:59 -0700)]
Add some HTML docs for pkgid specs

11 years agoAdd a pkgid id command and update docopt docs
Alex Crichton [Mon, 22 Sep 2014 00:42:46 +0000 (17:42 -0700)]
Add a pkgid id command and update docopt docs

11 years agoHook up `cargo update` to pkgids
Alex Crichton [Mon, 22 Sep 2014 00:22:26 +0000 (17:22 -0700)]
Hook up `cargo update` to pkgids

11 years agoImplement a package id specification format
Alex Crichton [Mon, 22 Sep 2014 00:11:36 +0000 (17:11 -0700)]
Implement a package id specification format